package com.example.springbootvue.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import com.example.springbootvue.entity.TUser;
import com.example.springbootvue.service.ITUserService;
import com.example.springbootvue.util.Result;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author yuyongli
 * @since 2022-12-12
 */
@RestController
@RequestMapping("/t-user")
public class TUserController {
    // 登录
    @Resource
    private ITUserService userService;
    // get 请求  前后端分离的时候 返回的数据格式是统一的 Result
    @GetMapping("/login")
    public Result login(TUser tUser){
        QueryWrapper<TUser> wrapper = new QueryWrapper<>();
        wrapper.eq("username" , tUser.getUsername());
        wrapper.eq("password" , tUser.getPassword());
        TUser one = userService.getOne(wrapper);
        return new Result(one == null ? false : true);
    }

    /**
     * 查询所有
     * 并返回到前端
     * */
    @GetMapping("/findAll")
    public List<TUser> findAll(){
        return userService.list(null);
    }

    /**
     * 获取单行的数据
     * @param id
     * @return
     */
    @GetMapping("/findById/{id}")
    public TUser findById(@PathVariable String id){
        return userService.getById(id);
    }

    /**
     * 删除数据
     * @param id
     * @return
     */
    @DeleteMapping("/delete/{id}")
    public String delete(@PathVariable String id){
        String s = userService.removeById(id) ? "删除成功" : "删除失败";
        return s ;
    }

    /**
     * 添加数据
     * @param tUser
     * @return
     */
    @PostMapping("/save")
    public String save(@RequestBody TUser tUser){
        return userService.save(tUser) ? "添加成功" : "添加失败";
    }

    /**
     * 修改数据
     * @param tUser
     * @return
     */
    @PutMapping("/update")
    public String update(@RequestBody TUser tUser){
        return userService.updateById(tUser) ? "修改成功" : "修改失败";
    }

}

